﻿using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
namespace EMC.VISITOR.Application;

    /// <summary>
    /// 人臉門禁出入記錄输出参数
    /// </summary>
    public partial class DoorInOutRecordDto
    {
        /// <summary>
        /// 人員唯一編碼
        /// </summary>
        public string? personId { get; set; }
        
        /// <summary>
        /// 訪客名稱
        /// </summary>
        public string? personName { get; set; }
        
        /// <summary>
        /// 證件號碼
        /// </summary>
        public string? certNo { get; set; }
        
        /// <summary>
        /// 門禁點名稱
        /// </summary>
        public string? doorName { get; set; }
        
        /// <summary>
        /// 進出時間
        /// </summary>
        public DateTime? eventTimeOk { get; set; }
        
        /// <summary>
        /// 事件類型名稱
        /// </summary>
        public string? eventTypeName { get; set; }
        
        /// <summary>
        /// 卡號
        /// </summary>
        public string? cardNo { get; set; }
        
        /// <summary>
        /// 讀卡器名稱
        /// </summary>
        public string? readerDevName { get; set; }
        
        /// <summary>
        /// Id
        /// </summary>
        public long Id { get; set; }
        
        /// <summary>
        /// 事件ID
        /// </summary>
        public string? eventId { get; set; }
        
        /// <summary>
        /// 事件名稱
        /// </summary>
        public string? eventName { get; set; }
        
        /// <summary>
        /// 事件產生時間
        /// </summary>
        public string? eventTime { get; set; }
        
        /// <summary>
        /// 人員所屬組織編碼
        /// </summary>
        public string? orgIndexCode { get; set; }
        
        /// <summary>
        /// 人員所屬組織名稱
        /// </summary>
        public string? orgName { get; set; }
        
        /// <summary>
        /// 門禁點編碼
        /// </summary>
        public string? doorIndexCode { get; set; }
        
        /// <summary>
        /// 門禁點所在區域編碼
        /// </summary>
        public string? doorRegionIndexCode { get; set; }
        
        /// <summary>
        /// 抓拍圖片地址
        /// </summary>
        public string? picUri { get; set; }
        
        /// <summary>
        /// 圖片存儲服務的唯一標識
        /// </summary>
        public string? svrIndexCode { get; set; }
        
        /// <summary>
        /// 事件類型
        /// </summary>
        public long? eventType { get; set; }
        
        /// <summary>
        /// 進出類型
        /// </summary>
        public long? inAndOutType { get; set; }
        
        /// <summary>
        /// 讀卡器IndexCode
        /// </summary>
        public string? readerDevIndexCode { get; set; }
        
        /// <summary>
        /// 控制器設備IndexCode
        /// </summary>
        public string? devIndexCode { get; set; }
        
        /// <summary>
        /// 所屬門禁
        /// </summary>
        public string? devName { get; set; }
        
        /// <summary>
        /// 身份證圖片uri
        /// </summary>
        public string? identityCardUri { get; set; }
        
        /// <summary>
        /// 事件入庫時間
        /// </summary>
        public string? receiveTime { get; set; }
        
        /// <summary>
        /// 工號
        /// </summary>
        public string? jobNo { get; set; }
        
    }

    
  /// <summary>
    /// 人臉門禁出入記錄导出导入
    /// </summary>
    [ExcelExporter(Name = "人臉門禁出入記錄", TableStyle = OfficeOpenXml.Table.TableStyles.None, AutoFitAllColumn = true,AutoCenter =true)]
    [ExcelImporter( IsLabelingError = true,SheetName ="人臉門禁出入記錄")]
    public partial class ExportImportDoorInOutRecordDto
    {
        /// <summary>
        /// 人員唯一編碼
        /// </summary>
        [ExporterHeader(DisplayName = "人員唯一編碼", IsBold = true)]
        [ImporterHeader(Name = "人員唯一編碼")]
        public virtual string? personId { get; set; }
        
        /// <summary>
        /// 訪客名稱
        /// </summary>
        [ExporterHeader(DisplayName = "訪客名稱", IsBold = true)]
        [ImporterHeader(Name = "訪客名稱")]
        public virtual string? personName { get; set; }
        
        /// <summary>
        /// 證件號碼
        /// </summary>
        [ExporterHeader(DisplayName = "證件號碼", IsBold = true)]
        [ImporterHeader(Name = "證件號碼")]
        public virtual string? certNo { get; set; }
        
        /// <summary>
        /// 門禁點名稱
        /// </summary>
        [ExporterHeader(DisplayName = "門禁點名稱", IsBold = true)]
        [ImporterHeader(Name = "門禁點名稱")]
        public virtual string? doorName { get; set; }
        
        /// <summary>
        /// 進出時間
        /// </summary>
        [ExporterHeader(DisplayName = "進出時間", IsBold = true)]
        [ImporterHeader(Name = "進出時間")]
        public virtual DateTime? eventTimeOk { get; set; }
        
        /// <summary>
        /// 事件類型名稱
        /// </summary>
        [ExporterHeader(DisplayName = "事件類型名稱", IsBold = true)]
        [ImporterHeader(Name = "事件類型名稱")]
        public virtual string? eventTypeName { get; set; }


    [ExporterHeader(DisplayName = "来访单位", IsBold = true)]
    [ImporterHeader(Name = "来访单位")]
    public virtual string? Vcompany { get; set; }

    [ExporterHeader(DisplayName = "访客类型", IsBold = true)]
    [ImporterHeader(Name = "访客类型")]
    public virtual VisitorType? Type { get; set; }


    ///// <summary>
    ///// 卡號
    ///// </summary>
    //[ExporterHeader(DisplayName = "卡號", IsBold = true)]
    //[ImporterHeader(Name = "卡號")]
    //public virtual string? cardNo { get; set; }

    ///// <summary>
    ///// 讀卡器名稱
    ///// </summary>
    //[ExporterHeader(DisplayName = "讀卡器名稱", IsBold = true)]
    //[ImporterHeader(Name = "讀卡器名稱")]
    //public virtual string? readerDevName { get; set; }

    ///// <summary>
    ///// 事件ID
    ///// </summary>
    //[ExporterHeader(DisplayName = "事件ID", IsBold = true)]
    //[ImporterHeader(Name = "事件ID")]
    //public virtual string? eventId { get; set; }

    ///// <summary>
    ///// 事件名稱
    ///// </summary>
    //[ExporterHeader(DisplayName = "事件名稱", IsBold = true)]
    //[ImporterHeader(Name = "事件名稱")]
    //public virtual string? eventName { get; set; }

    ///// <summary>
    ///// 事件產生時間
    ///// </summary>
    //[ExporterHeader(DisplayName = "事件產生時間", IsBold = true)]
    //[ImporterHeader(Name = "事件產生時間")]
    //public virtual string? eventTime { get; set; }

    ///// <summary>
    ///// 人員所屬組織編碼
    ///// </summary>
    //[ExporterHeader(DisplayName = "人員所屬組織編碼", IsBold = true)]
    //[ImporterHeader(Name = "人員所屬組織編碼")]
    //public virtual string? orgIndexCode { get; set; }

    ///// <summary>
    ///// 人員所屬組織名稱
    ///// </summary>
    //[ExporterHeader(DisplayName = "人員所屬組織名稱", IsBold = true)]
    //[ImporterHeader(Name = "人員所屬組織名稱")]
    //public virtual string? orgName { get; set; }

    ///// <summary>
    ///// 門禁點編碼
    ///// </summary>
    //[ExporterHeader(DisplayName = "門禁點編碼", IsBold = true)]
    //[ImporterHeader(Name = "門禁點編碼")]
    //public virtual string? doorIndexCode { get; set; }

    ///// <summary>
    ///// 門禁點所在區域編碼
    ///// </summary>
    //[ExporterHeader(DisplayName = "門禁點所在區域編碼", IsBold = true)]
    //[ImporterHeader(Name = "門禁點所在區域編碼")]
    //public virtual string? doorRegionIndexCode { get; set; }

    ///// <summary>
    ///// 抓拍圖片地址
    ///// </summary>
    //[ExporterHeader(DisplayName = "抓拍圖片地址", IsBold = true)]
    //[ImporterHeader(Name = "抓拍圖片地址")]
    //public virtual string? picUri { get; set; }

    ///// <summary>
    ///// 圖片存儲服務的唯一標識
    ///// </summary>
    //[ExporterHeader(DisplayName = "圖片存儲服務的唯一標識", IsBold = true)]
    //[ImporterHeader(Name = "圖片存儲服務的唯一標識")]
    //public virtual string? svrIndexCode { get; set; }

    ///// <summary>
    ///// 事件類型
    ///// </summary>
    //[ExporterHeader(DisplayName = "事件類型", IsBold = true)]
    //[ImporterHeader(Name = "事件類型")]
    //public virtual long? eventType { get; set; }

    ///// <summary>
    ///// 進出類型
    ///// </summary>
    //[ExporterHeader(DisplayName = "進出類型", IsBold = true)]
    //[ImporterHeader(Name = "進出類型")]
    //public virtual long? inAndOutType { get; set; }

    ///// <summary>
    ///// 讀卡器IndexCode
    ///// </summary>
    //[ExporterHeader(DisplayName = "讀卡器IndexCode", IsBold = true)]
    //[ImporterHeader(Name = "讀卡器IndexCode")]
    //public virtual string? readerDevIndexCode { get; set; }

    ///// <summary>
    ///// 控制器設備IndexCode
    ///// </summary>
    //[ExporterHeader(DisplayName = "控制器設備IndexCode", IsBold = true)]
    //[ImporterHeader(Name = "控制器設備IndexCode")]
    //public virtual string? devIndexCode { get; set; }

    ///// <summary>
    ///// 所屬門禁
    ///// </summary>
    //[ExporterHeader(DisplayName = "所屬門禁", IsBold = true)]
    //[ImporterHeader(Name = "所屬門禁")]
    //public virtual string? devName { get; set; }

    ///// <summary>
    ///// 身份證圖片uri
    ///// </summary>
    //[ExporterHeader(DisplayName = "身份證圖片uri", IsBold = true)]
    //[ImporterHeader(Name = "身份證圖片uri")]
    //public virtual string? identityCardUri { get; set; }

    ///// <summary>
    ///// 事件入庫時間
    ///// </summary>
    //[ExporterHeader(DisplayName = "事件入庫時間", IsBold = true)]
    //[ImporterHeader(Name = "事件入庫時間")]
    //public virtual string? receiveTime { get; set; }

    ///// <summary>
    ///// 工號
    ///// </summary>
    //[ExporterHeader(DisplayName = "工號", IsBold = true)]
    //[ImporterHeader(Name = "工號")]
    //public virtual string? jobNo { get; set; }

}